const Joi = require('joi');

const title = Joi.string().required();
const content = Joi.string().required().allow(''); // 允许值为空字符串
const state = Joi.string().valid("已发布", "草稿"); // 有效值只能是 已发布和草稿
const cate_id = Joi.number().min(1).integer();

// 以查询字符串格式传参的时候 pagenum是出现在url中 表单验证时不能加required()方法
const pagenum = Joi.number().min(1).integer();
const pagesize = Joi.number().min(1).integer();

const id = Joi.number().integer().min(0).required();
const Id = Joi.number().integer().min(0).required();
// 发布文章 表单验证 不包括上传文件的验证
const articles_pub_schema = {
    body: {
        title,
        content,
        state,
        cate_id
    }
};
// 获取文章列表表单数据验证
const articles_get_schema = {
    body: {
        pagenum,
        pagesize,
        cate_id,
        state
    }
};
// 根据id 删除文章
const articles_delete_schema = {
    params: {
        id,
    }
};
// 根据id 获取文章详情
const articles_getDetail_schema = {
    params: {
        id,
    }
};
// 根据id 修改文章信息
const articles_edit_schema = {
    body: {
        Id,
        title,
        cate_id,
        content,
        state
    }
}
module.exports = {
    articles_pub_schema,
    articles_get_schema,
    articles_delete_schema,
    articles_getDetail_schema,
    articles_edit_schema
}